package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.FlashSales;

import java.util.*;
public class FlashSalesExample extends SgExample<FlashSalesExample.Criteria> {
    public static final Class<FlashSales> beanClass = FlashSales.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn number;
    public static EntityColumn createTime;
    public static EntityColumn itemCode;
    public static EntityColumn flashId;
    public static EntityColumn weight;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        number = listMap.get("number");
        createTime = listMap.get("createTime");
        itemCode = listMap.get("itemCode");
        flashId = listMap.get("flashId");
        weight = listMap.get("weight");
        }

    public FlashSalesExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected FlashSalesExample.Criteria createCriteriaInternal() {
        return new FlashSalesExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public FlashSalesExample.Criteria andNumberIsNull() {
            return isNull(number);
        }

        public FlashSalesExample.Criteria andNumberIsNotNull() {
            return isNotNull(number);
        }

        public FlashSalesExample.Criteria andNumberEqualTo(Integer value) {
            return equalTo(number, value);
        }

        public FlashSalesExample.Criteria andNumberNotEqualTo(Integer value) {
            return notEqualTo(number, value);
        }

        public FlashSalesExample.Criteria andNumberGreaterThan(Integer value) {
            return greaterThan(number, value);
        }

        public FlashSalesExample.Criteria andNumberGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(number, value);
        }

        public FlashSalesExample.Criteria andNumberLessThan(Integer value) {
            return lessThan(number, value);
        }

        public FlashSalesExample.Criteria andNumberLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(number, value);
        }

        public FlashSalesExample.Criteria andNumberIn(List<Integer> values) {
            return in(number, values);
        }

        public FlashSalesExample.Criteria andNumberNotIn(List<Integer> values) {
            return notIn(number, values);
        }

        public FlashSalesExample.Criteria andNumberBetween(Integer value1, Integer value2) {
            return between(number, value1, value2);
        }

        public FlashSalesExample.Criteria andNumberNotBetween(Integer value1, Integer value2) {
            return notBetween(number, value1, value2);
        }
        public FlashSalesExample.Criteria andCreateTimeIsNull() {
            return isNull(createTime);
        }

        public FlashSalesExample.Criteria andCreateTimeIsNotNull() {
            return isNotNull(createTime);
        }

        public FlashSalesExample.Criteria andCreateTimeEqualTo(Date value) {
            return equalTo(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeNotEqualTo(Date value) {
            return notEqualTo(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeGreaterThan(Date value) {
            return greaterThan(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeLessThan(Date value) {
            return lessThan(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(createTime, value);
        }

        public FlashSalesExample.Criteria andCreateTimeIn(List<Date> values) {
            return in(createTime, values);
        }

        public FlashSalesExample.Criteria andCreateTimeNotIn(List<Date> values) {
            return notIn(createTime, values);
        }

        public FlashSalesExample.Criteria andCreateTimeBetween(Date value1, Date value2) {
            return between(createTime, value1, value2);
        }

        public FlashSalesExample.Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            return notBetween(createTime, value1, value2);
        }
        public FlashSalesExample.Criteria andItemCodeIsNull() {
            return isNull(itemCode);
        }

        public FlashSalesExample.Criteria andItemCodeIsNotNull() {
            return isNotNull(itemCode);
        }

        public FlashSalesExample.Criteria andItemCodeEqualTo(Long value) {
            return equalTo(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeNotEqualTo(Long value) {
            return notEqualTo(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeGreaterThan(Long value) {
            return greaterThan(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeLessThan(Long value) {
            return lessThan(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(itemCode, value);
        }

        public FlashSalesExample.Criteria andItemCodeIn(List<Long> values) {
            return in(itemCode, values);
        }

        public FlashSalesExample.Criteria andItemCodeNotIn(List<Long> values) {
            return notIn(itemCode, values);
        }

        public FlashSalesExample.Criteria andItemCodeBetween(Long value1, Long value2) {
            return between(itemCode, value1, value2);
        }

        public FlashSalesExample.Criteria andItemCodeNotBetween(Long value1, Long value2) {
            return notBetween(itemCode, value1, value2);
        }
        public FlashSalesExample.Criteria andFlashIdIsNull() {
            return isNull(flashId);
        }

        public FlashSalesExample.Criteria andFlashIdIsNotNull() {
            return isNotNull(flashId);
        }

        public FlashSalesExample.Criteria andFlashIdEqualTo(Long value) {
            return equalTo(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdNotEqualTo(Long value) {
            return notEqualTo(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdGreaterThan(Long value) {
            return greaterThan(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdLessThan(Long value) {
            return lessThan(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(flashId, value);
        }

        public FlashSalesExample.Criteria andFlashIdIn(List<Long> values) {
            return in(flashId, values);
        }

        public FlashSalesExample.Criteria andFlashIdNotIn(List<Long> values) {
            return notIn(flashId, values);
        }

        public FlashSalesExample.Criteria andFlashIdBetween(Long value1, Long value2) {
            return between(flashId, value1, value2);
        }

        public FlashSalesExample.Criteria andFlashIdNotBetween(Long value1, Long value2) {
            return notBetween(flashId, value1, value2);
        }
        public FlashSalesExample.Criteria andWeightIsNull() {
            return isNull(weight);
        }

        public FlashSalesExample.Criteria andWeightIsNotNull() {
            return isNotNull(weight);
        }

        public FlashSalesExample.Criteria andWeightEqualTo(Integer value) {
            return equalTo(weight, value);
        }

        public FlashSalesExample.Criteria andWeightNotEqualTo(Integer value) {
            return notEqualTo(weight, value);
        }

        public FlashSalesExample.Criteria andWeightGreaterThan(Integer value) {
            return greaterThan(weight, value);
        }

        public FlashSalesExample.Criteria andWeightGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(weight, value);
        }

        public FlashSalesExample.Criteria andWeightLessThan(Integer value) {
            return lessThan(weight, value);
        }

        public FlashSalesExample.Criteria andWeightLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(weight, value);
        }

        public FlashSalesExample.Criteria andWeightIn(List<Integer> values) {
            return in(weight, values);
        }

        public FlashSalesExample.Criteria andWeightNotIn(List<Integer> values) {
            return notIn(weight, values);
        }

        public FlashSalesExample.Criteria andWeightBetween(Integer value1, Integer value2) {
            return between(weight, value1, value2);
        }

        public FlashSalesExample.Criteria andWeightNotBetween(Integer value1, Integer value2) {
            return notBetween(weight, value1, value2);
        }
    }
}